@charset "UTF-8";
/* ==========================================================================
   bootstrap-compat.css
   --------------------------------------------------------------------------
   Compatibility shim that revives Bootstrap 3 / Bootstrap 4 class names
   still present in InscrisToi Razor markup, so we can upgrade to
   Bootstrap 5.3.8 without sweeping every view at once.

   Load order: after bootstrap.css (BS5 core), before app.css.
   Ported selectively from AltiSuite's compiled bootstrap-reset output.
   ========================================================================== */

/* --- BS3 extra-small grid tier (.col-xs-*) -> unprefixed col-* widths --- */
.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12 {
    position: relative;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
    flex: 0 0 auto;
}
.col-xs-1  { width: 8.33333333%; }
.col-xs-2  { width: 16.66666667%; }
.col-xs-3  { width: 25%; }
.col-xs-4  { width: 33.33333333%; }
.col-xs-5  { width: 41.66666667%; }
.col-xs-6  { width: 50%; }
.col-xs-7  { width: 58.33333333%; }
.col-xs-8  { width: 66.66666667%; }
.col-xs-9  { width: 75%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-12 { width: 100%; }

/* --- BS3 column offsets (col-{bp}-offset-N) --- */
/* BS4 renamed these to offset-{bp}-N, so legacy markup stops working
   under BS5. Aliases here preserve BS3 semantics (xs: always, sm:
   ≥768px, md: ≥992px, lg: ≥1200px). */
.col-xs-offset-0  { margin-left: 0; }
.col-xs-offset-1  { margin-left: 8.33333333%; }
.col-xs-offset-2  { margin-left: 16.66666667%; }
.col-xs-offset-3  { margin-left: 25%; }
.col-xs-offset-4  { margin-left: 33.33333333%; }
.col-xs-offset-5  { margin-left: 41.66666667%; }
.col-xs-offset-6  { margin-left: 50%; }
.col-xs-offset-7  { margin-left: 58.33333333%; }
.col-xs-offset-8  { margin-left: 66.66666667%; }
.col-xs-offset-9  { margin-left: 75%; }
.col-xs-offset-10 { margin-left: 83.33333333%; }
.col-xs-offset-11 { margin-left: 91.66666667%; }
.col-xs-offset-12 { margin-left: 100%; }

@media (min-width: 768px) {
    .col-sm-offset-0  { margin-left: 0; }
    .col-sm-offset-1  { margin-left: 8.33333333%; }
    .col-sm-offset-2  { margin-left: 16.66666667%; }
    .col-sm-offset-3  { margin-left: 25%; }
    .col-sm-offset-4  { margin-left: 33.33333333%; }
    .col-sm-offset-5  { margin-left: 41.66666667%; }
    .col-sm-offset-6  { margin-left: 50%; }
    .col-sm-offset-7  { margin-left: 58.33333333%; }
    .col-sm-offset-8  { margin-left: 66.66666667%; }
    .col-sm-offset-9  { margin-left: 75%; }
    .col-sm-offset-10 { margin-left: 83.33333333%; }
    .col-sm-offset-11 { margin-left: 91.66666667%; }
    .col-sm-offset-12 { margin-left: 100%; }
}

@media (min-width: 992px) {
    .col-md-offset-0  { margin-left: 0; }
    .col-md-offset-1  { margin-left: 8.33333333%; }
    .col-md-offset-2  { margin-left: 16.66666667%; }
    .col-md-offset-3  { margin-left: 25%; }
    .col-md-offset-4  { margin-left: 33.33333333%; }
    .col-md-offset-5  { margin-left: 41.66666667%; }
    .col-md-offset-6  { margin-left: 50%; }
    .col-md-offset-7  { margin-left: 58.33333333%; }
    .col-md-offset-8  { margin-left: 66.66666667%; }
    .col-md-offset-9  { margin-left: 75%; }
    .col-md-offset-10 { margin-left: 83.33333333%; }
    .col-md-offset-11 { margin-left: 91.66666667%; }
    .col-md-offset-12 { margin-left: 100%; }
}

@media (min-width: 1200px) {
    .col-lg-offset-0  { margin-left: 0; }
    .col-lg-offset-1  { margin-left: 8.33333333%; }
    .col-lg-offset-2  { margin-left: 16.66666667%; }
    .col-lg-offset-3  { margin-left: 25%; }
    .col-lg-offset-4  { margin-left: 33.33333333%; }
    .col-lg-offset-5  { margin-left: 41.66666667%; }
    .col-lg-offset-6  { margin-left: 50%; }
    .col-lg-offset-7  { margin-left: 58.33333333%; }
    .col-lg-offset-8  { margin-left: 66.66666667%; }
    .col-lg-offset-9  { margin-left: 75%; }
    .col-lg-offset-10 { margin-left: 83.33333333%; }
    .col-lg-offset-11 { margin-left: 91.66666667%; }
    .col-lg-offset-12 { margin-left: 100%; }
}

/* --- BS3 visibility classes (hidden-xs / visible-xs / .hide) --- */
.hide { display: none !important; }
.hidden-xs { display: inherit; }
.visible-xs { display: none !important; }
@media (max-width: 575.98px) {
    .hidden-xs { display: none !important; }
    .visible-xs { display: inherit !important; }
}

/* --- BS3 float helpers --- */
.pull-left  { float: left !important; }
.pull-right { float: right !important; }

/* --- BS3 responsive images --- */
.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

/* --- BS5 removed .form-group; restore default bottom margin --- */
.form-group {
    margin-bottom: 1rem;
}

/* --- BS3 panel -> BS5 card bridge --- */
.panel {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
    margin-bottom: 1rem;
}
.panel-heading {
    padding: 0.625rem 0.9375rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px);
}
.panel-body {
    flex: 1 1 auto;
    padding: 0.9375rem;
}
.panel-footer {
    padding: 0.625rem 0.9375rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1rem;
}
.panel-default {
    border-top-width: 3px;
}

/* --- BS3 .well and .jumbotron (still referenced in app.css) --- */
.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 0.25rem;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.jumbotron {
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    background-color: #e9ecef;
    border-radius: 0.3rem;
}
@media (min-width: 576px) {
    .jumbotron {
        padding: 4rem 2rem;
    }
}

/* --- BS3 .page-header --- */
.page-header {
    padding-bottom: 9px;
    margin: 40px 0 20px;
    border-bottom: 1px solid #e4eaec;
}

/* --- BS4 margin/padding LTR utilities -> BS5 logical names ---
   BS5 renamed ml-/mr-/pl-/pr- to ms-/me-/ps-/pe-. Alias the legacy
   names so existing markup keeps working. */
.ml-0    { margin-left: 0 !important; }
.ml-1    { margin-left: 0.25rem !important; }
.ml-2    { margin-left: 0.5rem !important; }
.ml-3    { margin-left: 1rem !important; }
.ml-4    { margin-left: 1.5rem !important; }
.ml-5    { margin-left: 3rem !important; }
.ml-auto { margin-left: auto !important; }

.mr-0    { margin-right: 0 !important; }
.mr-1    { margin-right: 0.25rem !important; }
.mr-2    { margin-right: 0.5rem !important; }
.mr-3    { margin-right: 1rem !important; }
.mr-4    { margin-right: 1.5rem !important; }
.mr-5    { margin-right: 3rem !important; }
.mr-auto { margin-right: auto !important; }

.pl-0    { padding-left: 0 !important; }
.pl-1    { padding-left: 0.25rem !important; }
.pl-2    { padding-left: 0.5rem !important; }
.pl-3    { padding-left: 1rem !important; }
.pl-4    { padding-left: 1.5rem !important; }
.pl-5    { padding-left: 3rem !important; }

.pr-0    { padding-right: 0 !important; }
.pr-1    { padding-right: 0.25rem !important; }
.pr-2    { padding-right: 0.5rem !important; }
.pr-3    { padding-right: 1rem !important; }
.pr-4    { padding-right: 1.5rem !important; }
.pr-5    { padding-right: 3rem !important; }

/* --- BS4 had .btn-default; BS5 renamed to .btn-secondary --- */
.btn-default {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
}
.btn-default:hover,
.btn-default:focus {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
}

/* --- BS4 contextual badges -> BS5 text-bg-* --- */
.badge-primary   { color: #fff; background-color: var(--bs-primary, #0d6efd); }
.badge-secondary { color: #fff; background-color: var(--bs-secondary, #6c757d); }
.badge-success   { color: #fff; background-color: var(--bs-success, #198754); }
.badge-danger    { color: #fff; background-color: var(--bs-danger, #dc3545); }
.badge-warning   { color: #000; background-color: var(--bs-warning, #ffc107); }
.badge-info      { color: #000; background-color: var(--bs-info, #0dcaf0); }
.badge-light     { color: #000; background-color: var(--bs-light, #f8f9fa); }
.badge-dark      { color: #fff; background-color: var(--bs-dark, #212529); }

/* --- BS3 tab/fade used .in; BS5 uses .show --- */
.fade.in {
    opacity: 1;
}
.tab-content > .tab-pane.in,
.carousel-inner > .item.in {
    display: block;
}

/* --- BS3 navbar-header wrapper preserved as a pass-through container --- */
.navbar-header {
    display: flex;
    align-items: center;
}

/* --- BS3 .navbar-nav > li > a hook still used by app.css navbar rules ---
   BS5 exposes .nav-link directly on <a> elements. Bridge by forwarding
   padding/display so the Angle theme rules in app.css keep applying. */
.navbar-nav > li > a {
    display: block;
    padding: 0.5rem 1rem;
    color: inherit;
    text-decoration: none;
}

/* --- BS3 navbar-right (forces right alignment) --- */
.navbar-nav.navbar-right {
    margin-left: auto;
}

.form-horizontal :has(> [class*=col-]) {
    flex-wrap: wrap;
    display: flex;
}
.form-horizontal .control-label {
    text-align: right;
    padding-right: 5px;
}
.form-horizontal .form-group {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.form-horizontal .form-group > label:not(.k-radio-wrap, .k-radio-label), 
.form-horizontal .form-group > div:not(.k-radio-wrap, .k-radio-label), 
.form-horizontal .form-group > span:not(.k-radio-wrap, .k-radio-label), 
.form-horizontal .form-group > p:not(.k-radio-wrap, .k-radio-label) {
    position: relative;
    padding-right: 15px;
    padding-left: 15px;
}

.field-validation-error {
    color: #f05050;
}

[role=tabpanel].collapse:not(:has(.collapse.in)):has(.field-validation-error:not(:empty)) {
    border-color: red !important;
    border-width: 2px !important;
    border-style: solid;
}

.form-horizontal h1,
.form-horizontal h2,
.form-horizontal h3,
.form-horizontal h4,
.form-horizontal h5,
.form-horizontal h6 {
    display: block;
    width: 100%;
    flex: 0 0 100%;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
}

.fa, .fas {
    font-family: FontAwesome !important;
    font-weight: 900;
}

.far {
    font-family: FontAwesome !important;
    font-weight: 400;
}

.btn-primary,
.btn-success,
.btn-danger {
    color: #fff !important;
}

h4 {
    font-size: 18px;
}
h5 {
    font-size: 14px;
}

label {
    font-weight: bold;
}